package com.ITArmy.dao;

import com.ITArmy.beans.Message;

import java.util.List;

/**
 *
 */
public interface MessageMapper {
    int deleteByPrimaryKey(Long iId);

    int insert(Message record);

    int insertSelective(Message record);

    Message selectByPrimaryKey(Long iId);

    int updateByPrimaryKeySelective(Message record);

    int updateByPrimaryKey(Message record);

    List selectUnshowMessage(long uId);

    /**
     * 获取未读的关注信息
     */
    List selectFocusMessage(Long uId);

    /**
     * 获取点赞的信息
     */
    List selectPraiseMessage(Long uId);

    /**
     * 获取评论的信息
     */

    List selectCommentMessage(long uId);

    /**
     * 获取订单信息
     *
     * @param uId uid
     * @return list
     */
    List selectOrderMessage(long uId);

    /**
     * 删除回复id对应的所有消息
     *
     * @param chid chid
     * @return int
     */
    int deleteMessageByChid(long chid);

    /**
     * 删除与评论信息相关对应的消息
     *
     * @param cid cid
     * @return int
     */
    int deleteMessageByCid(long cid);

    /**
     * 删除与点赞信息相关对应的消息
     *
     * @param pid pid
     * @return int
     */
    int deleteMessageByPid(long pid);

    /**
     * 将所有关注信息设为已读
     *
     * @param ucid
     * @return int
     */
    int readFocus(long ucid);

    /**
     * 将所有点赞信息设为已读
     *
     * @return int
     */
    int readPraise(long ucid);

    /**
     * 将所有评论信息设为已读
     *
     * @return int
     */
    int readComment(long ucid);

    /**
     * 将所有系统信息设为已读
     *
     * @return int
     */
    int readSystem(long ucid);

    /**
     * 删除关注信息
     *
     * @param fid
     * @return
     */
    int deleteFocusMessage(long fid);

    /**
     * 删除订单信息
     *
     * @param oid
     * @return
     */
    int deleteOrderMessage(long oid);


    /**
     * 评论信息的数量
     */

    int commentNumber(long uId);

    /**
     * 点赞信息量
     */
    int praiseNumber(long uId);

    /**
     * 关注信息量
     */
    int focusNumber(long uId);

    /**
     * 系统消息量
     */
    int systemNumber(long uId);

}